Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

js-object-utilities

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

js-object-utilities

JavaScript utilities for nested objects

  • 2.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
83K
decreased by-19.87%
Maintainers
1
Weekly downloads
 
Created
Source

js-object-utilities

This package has a bunch of helper methods to work with nested objects in JavaScript.

Install

npm i js-object-utilities

API

objectutils.get(obj, key)

This function takes in an object (obj) and a key (key) and returns the value for the given key.

const objectutils = require("js-object-utilities");
console.log(objectutils.get({
	"data": {
		"hello": "world"
	}
}, "data.hello"));

// Will print "world"

objectutils.set(obj, key, value)

This function takes in an object (obj), key (key), and a value (value) and mutates the object setting the value for the given key.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world"
	}
};
objectutils.set(object, "data.hello", "universe");
console.log(object); // {"data": {"hello": "universe"}}

objectutils.delete(obj, key)

This function takes in an object (obj), and key (key), and deletes the given value for the key you passed in.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world"
	}
};
objectutils.delete(object, "data.hello");
console.log(object); // {"data": {}}

objectutils.pick(obj, keys)

This function takes in an object (obj), and array of keys (keys), and returns an object for the given keys you passed in.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm"
	}
};
objectutils.delete(object, ["data.hello", "data.space"]);
console.log(object); // {"data": {"hello": "world", "space": "travel"}}

objectutils.keys(obj)

This function takes in an object (obj), and returns an array of keys included in that object.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm"
	}
};
console.log(objectutils.keys(object)); // ["data", "data.hello", "data.space", "data.node"]

objectutils.entries(obj)

This function takes in an object (obj), and returns an array of entries included in that object.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm"
	}
};
console.log(objectutils.keys(object)); // [["data", {"hello": "world", "space": "travel", "node": "npm"}], ["data.hello", "world"], ["data.space", "travel"], ["data.node", "npm]]

objectutils.equals(obj)

This function takes in two values, and returns a boolean representing if they are equal. If objects as passed in it will check to ensure the entire object is identical.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm"
	}
};
console.log(objectutils.equals(object, {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm"
	}
})); // true

console.log(objectutils.equals(object, {
	"data": {
		"hello": "universe",
		"space": "travel",
		"node": "npm"
	}
})); // false

objectutils.clearEmpties(obj)

This function takes in an object and mutates it to remove all objects with a length of 0.

const objectutils = require("js-object-utilities");
const object = {
	"data": {
		"hello": "world",
		"space": "travel",
		"node": "npm",
		"otherData": {}
	}
};
objectutils.clearEmpties(object);
console.log(object);
// {
// 	"data": {
// 		"hello": "world",
// 		"space": "travel",
// 		"node": "npm",
// 	}
// }

objectutils.isCircular(obj[, searchKey])

This function checks to see if an object is circular. If a search key is passed in it will only return true if the object is circular and the search key is the key that caused the circularity.

This function will also check all nested objects for circularity.

const objectutils = require("js-object-utilities");

let object = {};
object.array = {"first": 1};
object.array2 = object;

const isCircular = objectutils.isCircular(object);
console.log(isCircular); // true

const isRandomKeyCircular = objectutils.isCircular(object, "random");
console.log(isRandomKeyCircular); // false

const isArray2KeyCircular = objectutils.isCircular(object, "array2");
console.log(isArray2KeyCircular); // true

objectutils.circularKeys(obj[, searchKey])

This function is identical to objectutils.isCircular except it returns an array of keys that are circular.

const objectutils = require("js-object-utilities");

let object = {};
object.array = {"first": 1};
object.array2 = object;

const circularKeys = objectutils.circularKeys(object);
console.log(circularKeys); // ["array2"]

const randomKeyCircular = objectutils.circularKeys(object, "random");
console.log(randomKeyCircular); // []

const array2KeyCircular = objectutils.circularKeys(object, "array2");
console.log(array2KeyCircular); // ["array2"]

Keywords

FAQs

Package last updated on 20 Dec 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc